πŸ•ΈοΈ Ada Research Browser

quickstart.md
← Back

Quickstart: Pre-Baked Vagrant Box Workflow

Feature: 009-vagrant-prebaked-boxes Date: 2026-03-02

Prerequisites

Workflow A: First-Time Bake

# 1. Provision from scratch (20-30 min)
./demo/scripts/demo-setup.sh

# 2. At the prompt, accept "Bake this cluster for future fast starts?" [Y/n]
#    Or bake manually:
./demo/scripts/demo-bake.sh

# 3. Verify baked boxes
./demo/scripts/demo-bake.sh --list

Workflow B: Fast Demo Start (from Baked Boxes)

# 1. Start demo (detects baked boxes, prompts to use them)
./demo/scripts/demo-setup.sh
# β†’ "Baked boxes found (rcd-demo-20260302-01, 2 days old). Use them? [Y/n]"
# β†’ Boots in ~5 min instead of 20-30 min

# 2. Run demo scenarios as normal
ansible-playbook -i demo/vagrant/inventory/hosts.yml demo/playbooks/scenario-a-onboard.yml

Workflow C: Refresh Baked Boxes

# After code changes to roles/playbooks:
./demo/scripts/demo-refresh.sh
# β†’ Destroys VMs, provisions from scratch, bakes new boxes (~45 min)

Workflow D: Non-Interactive (CI/Automation)

# Force baked boxes (fail if none exist)
DEMO_USE_BAKED=1 ./demo/scripts/demo-setup.sh

# Force fresh provisioning (ignore available boxes)
DEMO_USE_BAKED=0 ./demo/scripts/demo-setup.sh

Makefile Targets

make demo-bake          # Package current cluster as boxes
make demo-refresh       # Destroy, reprovision, and re-bake

Managing Box Sets

# List available sets
./demo/scripts/demo-bake.sh --list

# Delete a specific set
./demo/scripts/demo-bake.sh --delete rcd-demo-20260301-01

# Delete all sets
./demo/scripts/demo-bake.sh --delete-all

Environment Variables

Variable Values Default Description
DEMO_USE_BAKED 0, 1, unset unset Force fresh (0), force baked (1), or prompt (unset)
DEMO_PROVIDER virtualbox, libvirt, qemu auto-detect Override provider detection
DEMO_STALE_DAYS integer 7 Staleness threshold in days

Validation Checklist

After booting from baked boxes, verify: